/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gestorvideoclub.jdbc;

import gestorvideoclub.Videoclub;
import java.sql.*;
/**
 *
 * @author win64
 */
public class VideoclubJDBC {
    /*
     * Metodo para dar de alta al Videoclub. solo tendremos un videoclub dado de alta.
     */
    public static void altaVideoclub(Videoclub v){
        String sql = "insert into videoclubs (Id, nombre, domicilio,cif, poblacion, provincia, cp, pais, telefono) values ("+null+", '" + v.getNombre();
        sql += "', '" + v.getDireccion() + "', '" + v.getCIF() + "','" + v.getPoblacion();
        sql += "', '" + v.getProvincia() + "', '" +v.getCP() + "', '" + v.getPais() + "', '" +v.getTelefono() + "')";
        Connection con = null;
        try {
            con = AccesoDatos.getConexion();
            Statement st = con.createStatement();
            st.executeUpdate(sql);
            AccesoDatos.cerrarConexion(con);
        } catch (Exception e) {
            System.out.println("Error al insertar Videoclub " + e.getMessage());
        }
    }
    /*
     * devuelve true si existe un videoclub en la BBDD
     */
    public static boolean compruebaExistenciaVideoclub() {
        int aux = 0;
        boolean dev=false;
        String sql = "select COUNT(Id) AS tamano from videoclubs";
        Connection con = null;
        try {
            con = AccesoDatos.getConexion();
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(sql);
            while (rs.next()) {
                aux = rs.getInt("tamano");//nos guarda el entero que nos devuelve la consulta
            }
            AccesoDatos.cerrarConexion(con);
        } catch (Exception e) {
            System.out.println("Error al obtener Videoclub"+e.getMessage());
        }
        if(aux>0)
            dev=true;
        else
            dev=false;
        return dev;
    }
    
    public static Videoclub consultaVideoclub() throws NullPointerException{
        Videoclub v = new Videoclub();
        String sql = "select * from videoclubs";
        Connection con = null;
        try {
            con = AccesoDatos.getConexion();
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(sql);
            while (rs.next()) {
                v.setIdVideoclub(rs.getInt("videoclubs.Id"));
                v.setNombre(rs.getString("videoclubs.nombre"));
                v.setDireccion(rs.getString("videoclubs.domicilio"));
                v.setPoblacion(rs.getString("videoclubs.poblacion"));
                v.setProvincia(rs.getString("videoclubs.provincia"));
                v.setCP(rs.getString("videoclubs.cp"));
                v.setPais(rs.getString("videoclubs.pais"));
                v.setTelefono(rs.getString("videoclubs.telefono"));
            }
        } catch (Exception e) {
            System.out.println("Error a obtener el Videoclub " + e.getMessage());
        }/*
        if(v==null)
            {
                throw new NullPointerException("No existe Videoclub en la BBDD");
            }*/
        AccesoDatos.cerrarConexion(con);
        return v;
    }
    
   public static void sobreescribeVideoclub(Videoclub v, int codigo){
        String sql = "UPDATE videoclubs set videoclubs.domicilio= '"+v.getDireccion();
        sql += "' ,videoclubs.cif= '" + v.getCIF() + "' ,videoclubs.poblacion = '" + v.getPoblacion() + "' ,videoclubs.provincia='" + v.getProvincia()+"' ,videoclubs.cp='";
        sql += v.getCP()+"', videoclubs.pais='" + v.getPais() + "',videoclubs.telefono='" + v.getTelefono()+"'";
        Connection con = null;
        try {
            con = AccesoDatos.getConexion();
            Statement st = con.createStatement();
            st.executeUpdate(sql);
            AccesoDatos.cerrarConexion(con);
        } catch (Exception e) {
            System.out.println("Error al modificar Videoclub " + e.getMessage());
        }
    }    
    
    
}
